/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package persistencia.dao.hibernate;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import persistencia.pojo.Usuario;

/**
 *
 * @author Victor
 */
public class UsuarioDAOImpl {
    public void saveUsuario(Session session,Usuario usuario){
        try {
            session.save(usuario);
        } catch (HibernateException he) {
            he.printStackTrace();
        }

    }
    public void updateUsuario(Session session,Usuario usuario){
        try {
            session.update(usuario);
        } catch (HibernateException he) {
            he.printStackTrace();
        }

    }
    public void deleteUsuario(Session session,Usuario usuario){
        try {
            session.delete(usuario);
        } catch (HibernateException he) {
            he.printStackTrace();
        }

    }
    public Usuario getUsuario(Session session,String codusuario){
        Usuario retorno=null;
        try {
            retorno= (Usuario) session.get(Usuario.class,codusuario);
        } catch (HibernateException he) {
            he.printStackTrace();
        }
        return retorno;
    }    
    public List<Usuario> getAllUsuarios(Session session){
        List<Usuario> retorno=null;
        try {
            Query q = session.createQuery("from Usuario");
            List<Usuario> resultList = q.list();
            retorno = resultList;
        } catch (HibernateException he) {
            he.printStackTrace();
        }
        return retorno;
    }
    public List<Usuario> getUsuariosWhere(Session session, String strColTabla, String strValueCol, String strPagActual){
        List<Usuario> retorno=null;
        try {
            Query q = session.createQuery("from Usuario where "+strColTabla+" like '"+strValueCol+"%'");
            List<Usuario> resultList = q.list();
            retorno = resultList;
        } catch (HibernateException he) {
            he.printStackTrace();
        }
        return retorno;
    }
    
}
